Information processing apparatus, method for controlling same, and recording medium

ABSTRACT

A method for controlling an information processing apparatus configured to perform processing according to a type of an input operation, includes determining that the same type of operation as an operation input immediately before is likely to be repeated, based on input information of interest and information about the operation input immediately before, identifying by an identification unit an input operation based on the information of interest according to that the information of interest satisfies a predetermined condition set in advance, and setting, if the determination unit has determined that a same type of operation as the operation input immediately before is likely to be repeated, a condition for the identification unit to identify the operation input based on the information of interest as the same type of operation as the operation input immediately before so that the condition is easier to be satisfied than the predetermined condition.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present disclosure generally relates to information processing and,more particularly, to an information processing apparatus, method andmedium, and a technique for identifying an operation input to aninformation processing apparatus.

2. Description of the Related Art

Touch input devices have been prevalent recently. A touch input devicerecognizes a touch operation based on X and Y coordinate values of aposition where an input unit such as a touch panel is touched with anoperation object such as a user's finger and a stylus, and performsvarious types of processing according to the touch operation. One of theknown types of touch operations is a flick (an operation of releasing atouching finger as if flicking the surface of the touch panel). A flickinput is known to be associated with functions such as scrolling adisplay image displayed on a display unit according to the speed anddirection of the flick, and switching display images in order. Toincrease the amount of scroll or repeat switching display images, theuser inputs a flick a plurality of times in succession.

Japanese Patent Application Laid-Open No. 2012-168890 discusses that theamount of scroll of a display image for a single flick operation isincreased if a flick is repeatedly input within a certain period oftime.

A user who is repeatedly inputting a flick tends to input subsequentflicks roughly, in which case a criterion for a touch operation to beidentified as a flick may fail to be satisfied. If the criterion is notsatisfied, no processing according to a flick will be performed despitethe user's input intended to flick. The user may take it as amalfunction.

SUMMARY OF THE INVENTION

According to an aspect of the present disclosure, an informationprocessing apparatus configured to perform processing according to atype of an input operation, includes a determination unit configured todetermine whether a same type of operation as an operation inputimmediately before is likely to be repeated, based on input informationof interest and information about the operation input immediatelybefore, an identification unit configured to identify the inputoperation based on the information of interest according to that theinformation of interest satisfies a predetermined condition set inadvance, and a setting unit configured to, if the determination unitdetermines that the same type of operation as the operation inputimmediately before is likely to be repeated, set a condition for theidentification unit to identify the input operation based on theinformation of interest as the same type of operation as the operationinput immediately before so that the set condition is easier to besatisfied than the predetermined condition.

Further features of the present disclosure will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are diagrams illustrating an example of a hardwareconfiguration and a functional configuration of an informationprocessing apparatus.

FIGS. 2A and 2B are flowcharts illustrating an example of mainprocessing for identifying a user's operation and processing fordetecting the information of interest.

FIG. 3 is a flowchart illustrating an example of processing fordetermining repetition of a single-touch operation.

FIGS. 4A and 4B are flowcharts illustrating an example of processing foradjusting a reference value according to the number of repetitions andprocessing for identifying an operation type as a flick operation.

FIG. 5 is a flowchart illustrating an example of processing fordetermining repetition of a single-touch operation, which is performedby an information processing apparatus on which multi-touch operationscan be repeated.

FIGS. 6A and 6B are flowcharts illustrating an example of processing fordetermining repetition of a multi-touch operation.

FIG. 7 is a flowchart illustrating an example of processing foridentifying an operation type as a multi-drag operation.

FIG. 8 is a flowchart illustrating an example of processing foridentifying an operation type as a pinch operation.

FIGS. 9A, 9B, 9C, and 9D are tables illustrating examples ofcorrespondence between the number of repetitions of an operation and areference value of respective operation types.

FIGS. 10A, 10B, 10C, and 10D are diagrams illustrating examples where aflick operation is determined to be repeated based on detected touchpositions.

FIGS. 11A, 11B, 11C, and 11D are diagrams illustrating examples where amulti-touch operation is determined to be repeated based on detectedtouch positions.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the disclosurewill be described in detail below with reference to the drawings. Itshould be noted that the following exemplary embodiments are notintended to limit the present disclosure, but provide specific examplesof embodiment of the present disclosure.

A first exemplary embodiment deals with an example where a touchoperation, of which an operation type is identified based on whetherinput information exceeds a certain reference value, is determined to belikely to be repeatedly input to an information processing apparatus 100capable of recognizing a touch operation before the type of the touchoperation is identified. In particular, the first exemplary embodimentassumes a case where a single-touch operation made by a user moving afinger while touching a point on an input area (the surface of a touchpanel) with the finger is repeated. Examples of a single-touch operationof which the operation type is identified based on whether inputinformation exceeds a certain reference value include a flick. A flickis often identified based on that the amount of movement per unit timeof a touch position exceeds a predetermined value. The amount ofmovement per unit time is obtained based on the distance over which theuser moves the touch position from when the user touches the touch panelwith a finger to when the user releases the finger.

An example of a hardware configuration of the information processingapparatus 100 according to an exemplary embodiment of the presentdisclosure will be described with reference to FIG. 1A. The informationprocessing apparatus 100 includes a bus 101, a central processing unit(CPU) 102, a read-only memory (ROM) 103, a random access memory (RAM)104, an input interface (I/F) 105, an output I/F 106, an input/outputI/F 107, a touch panel display 111, and a storage device 108. As usedherein, the term “unit” generally refers to any combination of software,firmware, hardware, or other component that is used to effectuate apurpose.

The CPU 102 performs calculations and makes logical determinations forvarious types of processing, and controls the components connected tothe bus 101. Memories including a program memory and a data memory aremounted on the information processing apparatus 100.

The ROM 103 is a program memory. The ROM 103 stores a control programused for the control by the CPU 102, including various processingprocedures illustrated in flowcharts to be described below.

The RAM 104 includes a work area of the program of the CPU 102, a savearea of data during error processing, and a load area of the program.The control program may be loaded from the storage device 108 to the RAM104, whereby a program memory may be implemented.

The input I/F 105 controls an input device 109 such as a pointingdevice, and obtains a signal output from the input device 109. Examplesof usable pointing devices include a mouse, a track ball, and a touchpanel. Other examples include a system that detects a three-dimensionalposition of an object to be detected by using various sensors.

The output I/F 106 outputs a signal for controlling an output of aresult obtained by performing various types of processing to bedescribed below to an output device 110. The output device 110 includesa display output unit such as a liquid crystal display, a televisionmonitor, and a liquid crystal projector.

In the present exemplary embodiment, the touch panel display 111integrated with the information processing apparatus 100 is used as atouch panel serving as the input device 109 and a display device servingas the output device 110. The input device 109 and the output device 110each may be an independent external device connected to the informationprocessing apparatus 100. The touch panel serving as the input device109 used in the present exemplary embodiment notifies the informationprocessing apparatus 100 of a signal as a touch event indicating that auser is touching or that a touch-released point is detected. The inputI/F 105 obtains touch events point by point that are successivelydetected by scanning a touch-detecting area. The touch panel display 111used in the present exemplary embodiment notifies the informationprocessing apparatus 100 of “TOUCH” as a touch event when a touch isdetected, and of “RELEASE” as a touch event when a touch having beendetected is released. The touch panel is a capacitive touch panel. Thetouch panel identifies the coordinates of a point on a contact surfacebetween the user and the panel surface as a touch position, and notifiesthe information processing apparatus 100 of the coordinates along withthe touch event. Note that the touch panel is not limited to acapacitive type.

The storage device 108 connected via the input/output I/F 107 is astorage device for storing the data and programs according to thepresent exemplary embodiment. Examples of the storage device 108 includea hard disk drive. The storage device 108 may be configured as anexternal storage device connected outside. For example, the storagedevice 108 can be implemented by a medium (recording medium) and anexternal storage drive for accessing the medium. Conventional examplesof such a medium include a flexible disk (FD), a compact disc read-onlymemory (CD-ROM), a digital versatile disk (DVD), a universal serial bus(USB) memory, a magneto-optical (MO) disk, and a flash memory. Thestorage device 108 may be a network-connected sever apparatus.Information needed in the present exemplary embodiment is stored in theRAM 104 and/or the storage device 108.

Hereinafter, elements and components described by referring topreviously described drawings will be designated by the same referencenumerals unless otherwise specified. Thus, descriptions thereof will beomitted.

FIG. 1B is a block diagram illustrating an example of a functionalconfiguration of the information processing apparatus 100. Theinformation processing apparatus 100 includes a detection unit 121, adetermination unit 122, an acquisition unit 123, a condition settingunit 124, an identification unit 125, an area setting unit 126, astorage unit 127, and a display control unit 128. Such functional unitsare implemented by the CPU 102 loading a program or programs stored inthe ROM 103 into the RAM 104 and performing processing according to theflowcharts to be described below. If, for example, the softwareprocessing using the CPU 102 is replaced with a hardware configuration,the hardware configuration may include arithmetic units and/or circuitscorresponding to the processing of the respective functional unitsdescribed below.

The detection unit 121 includes the input I/F 105, the CPU 102, the ROM103, and the RAM 104. The detection unit 121 detects a signal outputfrom the input device 109 at predetermined time intervals. In thepresent exemplary embodiment, the detection unit 121 repeats detectionsat intervals of 20 ms. In the present exemplary embodiment, the detectedsignal includes information about a touch event and informationindicating a position input by the user. The information indicated bythe signal detected by the detection unit 121 will hereinafter bereferred to as “information of interest”. The detection unit 121 storesboth information indicating the detected position and time when theposition input is detected (detection time) in association with anidentifier (ID) of a touch position. An ID can be used to identify thesame touch position. Each time the detection unit 121 obtainsinformation about a touch position having the same ID, the detectionunit 121 sequentially updates the information of interest stored in theRAM 104. IDs are associated with the order of detection of touchpositions to facilitate management when a plurality of touch positionsis detected. The detection unit 121 stores the information of interestin the RAM 104 and updates the information of interest when needed.

The determination unit 122 includes the CPU 102, the ROM 103, and theRAM 104. The determination unit 122 determines whether the same type ofoperation as an operation input immediately before is likely to berepeated, based on the information of interest detected by the detectionunit 121 and information about the operation input immediately before.The “operation input immediately before” refers to an operation at thatpoint of time at which an operation type is identified last. Ifinformation about a new touch position is detected within apredetermined time after the type of the operation input immediatelybefore is identified, and the new touch position detected falls within aspecific range, the determination unit 122 of the present exemplaryembodiment determines that the same type of operation is likely to berepeated. As employed herein, the “specific range” refers to a partialrange that includes the touch position at which the input of theoperation input immediately before is started. The area setting unit 126sets the partial range as a specific range where the same type ofoperation is likely to be input on the input area of the touch panel.Such a specific range will hereinafter be referred to as an “input startarea”. The determination unit 122 may add an additional determinationcriterion or criteria according to operation types to be distinguished.

The acquisition unit 123 includes the CPU 102, the ROM 103, and the RAM104. The acquisition unit 123 obtains information about a movement ofthe touch position based on the information of interest detected by thedetection unit 121. Examples of the information about the movementinclude a moving distance from when the user moves a finger whiletouching the touch panel display 111 to when the user moves the fingeraway from the touch panel display 111. Another example is the amount ofmovement per unit time that is derived from the moving distance of thetouch position. As employed herein, the operation that the user moves afinger away from the touch panel display 111 will be referred to as “torelease”. The acquisition unit 123 notifies the identification unit 125of the obtained information.

The condition setting unit 124 includes the CPU 102, the ROM 103, andthe RAM 104. If the determination unit 122 determines that the same typeof operation as that input immediately before is likely to be repeated,the condition setting unit 124 sets a condition for identifying the typeof the input operation. At that time, the condition setting unit 124sets a condition easier to be satisfied than a predetermined conditionset for each operation type in advance. In the present exemplaryembodiment, an “operation type” refers to the type of a touch operationstored in advance in association with processing that the informationprocessing apparatus 100 can perform. The information processingapparatus 100 performs processing according to the type of the inputoperation. In the present exemplary embodiment, a condition foridentifying an operation type is that a value indicated by theinformation obtained by the acquisition unit 123 exceeds a predeterminedreference value set for each operation type. In the present exemplaryembodiment, the identification unit 125 to be described below storesinformation indicating the type of the input operation in the RAM 104when the type of the input operation is identified. The conditionsetting unit 124 then refers to the stored information to determine thereference value to be set corresponding to the type of operation. Forexample, a predetermined condition set for a flick is that the amount ofmovement per unit time based on the moving distance of the touchposition up to a touch-up exceeds a predetermined reference value. Theamount of movement per unit time may be replaced with a moving speed. Ifthe same type of operation as that input immediately before isdetermined to be likely to be repeated, the condition setting unit 124refers to the information stored in the storage unit 127 to obtain thereference value adjusted to a lower value than the predeterminedreference value, and sets the condition. The condition setting unit 124notifies the identification unit 125 of the set condition, i.e., theadjusted reference value.

The identification unit 125 includes the CPU 102, the ROM 103, and theRAM 104. The identification unit 125 identifies the type of the inputoperation based on the information obtained by the acquisition unit 123and the predetermined condition stored in the storage unit 127 or thecondition set by the condition setting unit 124. In the presentexemplary embodiment, if the determination unit 122 determines that thesame type of operation as that input immediately before is likely to berepeated, the identification unit 125 identifies the type of the inputoperation by using the reference value set by the condition setting unit124. If the determination unit 122 determines that the same type ofoperation as that input immediately before is not likely to be repeated,the identification unit 125 identifies the type of the input operationby using the condition using the predetermined reference value stored inthe storage unit 127. The storage unit 127 also stores a condition orconditions set to identify other types of operations. If such acondition is satisfied, the identification unit 125 identifies that adifferent type of operation corresponding to the satisfied condition isinput. The identification unit 125 stores information indicating thetype of the operation input immediately before into the RAM 104, andnotifies the display control unit 128 of the information.

The area setting unit 126 includes the CPU 102, the ROM 103, and the RAM104. The area setting unit 126 sets the “input start area” which thedetermination unit 122 uses to determine whether the same type ofoperation as that input immediately before is likely to be repeated. Inthe present exemplary embodiment, the area setting unit 126 sets a rangeof predetermined size including the start position of the operationinput immediately before as the “input start area”, and notifies thedetermination unit 122 of the input start area.

The storage unit 127 includes the CPU 102, the ROM 103, and the RAM 104.The storage unit 127 stores information in which a plurality of types ofprocessing that the information processing apparatus 100 can perform isrespectively associated with a plurality of types of touch operationsfor giving instructions to perform the processing. The storage unit 127also stores predetermined conditions for identifying the types ofrespective touch operations and predetermined reference values (initialvalues) used to determine the predetermined conditions in associationwith each other. The storage unit 127 further stores the values of thereference values for the condition setting unit 124 to set according tothe number of repetitions when the respective types of operations arerepeated.

The display control unit 128 includes the CPU 102, the ROM 103, the RAM104, and the output I/F 107. The display control unit 128 executesprocessing corresponding to the type of the operation identified by theidentification unit 125. The display control unit 128 generates adisplay image on which the result of execution is reflected, and outputsthe display image to the output device 110.

FIG. 2A is a flowchart illustrating an example of main processing of theinformation processing apparatus 100. In the present exemplaryembodiment, the flowchart of FIG. 2A is started when the informationprocessing apparatus 100 is powered on and activated and becomes readyto accept a touch operation. The flowchart may be started when aspecific application (such as an image viewer and a web browser) capableof accepting a specific touch operation such as a flick is executed.

In step S201, the detection unit 121 detects information based on theuser's input. In the present exemplary embodiment, the detection unit121 detects a touch event, information indicating the touched position(touch position), and information about the time at which the touchposition is detected, based on the signal output from the touch paneldisplay 111. In the present exemplary embodiment, the informationdetected when step S201 is performed is referred to as information ofinterest. In the present exemplary embodiment, the detection unit 121accepts the signal from the touch panel display 111 at regular timeintervals. Even when the subsequent processing steps are beingperformed, the detection unit 121 detects information of interest andstores information at regular time intervals. The processing of stepS201 will be described in more detail below with reference to theflowchart of FIG. 2B.

In step S202, the determination unit 122 determines whether the sametype of operation as that input immediately before is likely to berepeated, based on the information of interest detected by the detectionunit 121 and information about the operation input immediately before.The “operation input immediately before” refers to an operation at thatpoint of time at which an operation type is identified last. In thepresent exemplary embodiment, if the information of interest is inputimmediately after the end of the operation input immediately before andthe input is considered to be started at a position where the operationinput immediately before is started, the determination unit 122determines that the same type of operation as that input immediatelybefore is likely to be repeated. If the input is not considered as such,the determination unit 122 determines that the same type of operation asthat input immediately before is not likely to be repeated. Theprocessing of step S202 will be described in more detail below withreference to the flowchart of FIG. 3.

In step S203, the determination unit 122 determines whether the sametype of operation as that input immediately before is likely to berepeated. If the same type of operation as that input immediately beforeis determined to be likely to be repeated (YES in step S203), theprocessing proceeds to step S204. If the same type of operation as thatinput immediately before is determined not to be likely to be repeated(NO in step S203), the processing proceeds to step S205.

In step S204, the condition setting unit 124 sets the condition aboutthe type of operation input immediately before. In the present exemplaryembodiment, the condition setting unit 124 obtains information stored inthe storage unit 127 to set a condition different from the predeterminedcondition that is previously set to identify an input operation as thattype of operation. The processing of step S204 will be described in moredetail below with reference to the flowchart of FIG. 4A.

In step S205, the identification unit 125 determines whether informationobtained based on the information of interest satisfies the conditionfor identifying the input operation as the same type of operation asthat input immediately before. The identification unit 125 makes thedetermination based on the condition stored in the storage unit 127, if,in step S203, the same type of operation is determined not to be likelyto be repeated. The identification unit 125 makes the determinationbased on the condition set in step S204, if, in step S203, the same typeof operation is determined to be likely to be repeated. In step S205, ifthe condition is satisfied (YES in step S205), the processing proceedsto step S206. If the condition is not satisfied (NO in step S205), themain processing ends. If another condition stored in the storage unit127 is satisfied after the end of the main processing, theidentification unit 125 can identify the input operation as a differentoperation.

In step S206, the identification unit 125 identifies the operation inputbased on the information of interest as the same type of operation asthat input immediately before. The display control unit 128 generates adisplay image on which the result of processing corresponding to theidentified operation is reflected, and outputs the display image to thetouch panel display 111. The processing of steps S205 and S206 will bedescribed in more detail below with reference to the flowchart of FIG.4B.

Hereinbelow, each step will be described in detail with reference to theflowcharts.

FIG. 2B is a flowchart illustrating details of the processing fordetecting the information of interest, which is performed in step S201.

In step S211, the detection unit 121 determines whether the touch eventnotified from the touch panel is a “TOUCH”. If the notified touch eventis determined to be a “TOUCH” (YES in step S211), the processingproceeds to step S213. If the notified touch event is not a “TOUCH”,i.e., is a “RELEASE” (NO in step S211), the processing proceeds to stepS212.

In step S212, the detection unit 121 adds information indicating therelease of a touch position to information associated with the IDcorresponding to the touch position where the “RELEASE” is detectedamong the pieces of information stored in the RAM 104. For example, thedetection unit 121 sets a release flag to indicate “TRUE”.

In step S213, the detection unit 121 determines whether a touch positionhaving the same ID as that of the touch position where the “TOUCH” isdetected has already been detected. The detection unit 121 refers to theinformation stored in the RAM 104, and determines whether thecorresponding ID is included. If a touch position having the same ID isdetermined to have already been detected (YES in step S213), theprocessing proceeds to step S215. If a touch position having the same IDis determined not to have been detected (NO in step S213), theprocessing proceeds to step S214.

In step S214, the detection unit 121 adds new information about the ID,coordinates, and detection time of the touch position where the “TOUCH”is detected to the information stored in the RAM 104. Here, the RAM 104stores information indicating that a new touch position is detected. Forexample, the RAM 104 sets a new detection flag to indicate “TRUE”.

In step S215, the detection unit 121 updates the information about thecoordinates and detection time of the same ID as that of the touchposition where the “TOUCH” is detected among the pieces of informationstored in the RAM 104. Here, the detection unit 121 does not overwritethe information on which the new detection flag of “TRUE” is set, butstores the information as a separate piece of latest information aboutthe touch position of the same ID. As the processing is subsequentlyrepeated, the detection unit 121 overwrites the latest information toupdate, and returns to the processing of FIG. 2A. In the presentexemplary embodiment, if a move smaller than a predetermined distance isdetected, the touch position is processed as not moving, i.e., asremaining still.

The information of interest stored in the RAM 104 is initialized whenthe type of the touch operation based on the information of interest isidentified. As will be described below, the identification unit 125converts some of the information of interest into information about anoperation input immediately before and stores the resulting information.

The present exemplary embodiment uses the touch panel 109 that notifiesthe detection unit 121 of a “TOUCH” as a touch event if a touch isdetected, and of a “RELEASE” as a touch event if a touch position havingbeen detected is released. However, this is not restrictive. Forexample, the touch panel 109 may notify the detection unit 121 of a“TOUCH_DOWN” as a touch event if a new touch is made on the input area,a “MOVE” if a movement of a touch position having an already detected IDis detected, and a “TOUCH_UP” if released. In such a case, if a“TOUCH_DOWN” is notified, the detection unit 121 stores new informationin the RAM 104 and sets a new detection flag to indicate “TRUE”. If a“MOVE” is notified, the detection unit 121 updates the informationhaving the same ID. If a “TOUCH_UP” is notified, the detection unit 121may delete the information having the same ID.

As described above, the information processing apparatus 100 uses IDs toidentify a plurality of touch positions detected by the touch paneldisplay 111 and manage information. For example, if the usersimultaneously touches a plurality of positions on the input area with aplurality of fingers, the information processing apparatus 100 canassign respective different IDs to the plurality of touch positions, anddetect the movement of the respective touch positions.

Next, details of repetition determination processing (single-touchoperation repetition determination processing) performed in step S202will be described with reference to the flowchart of FIG. 3. In thepresent exemplary embodiment, the determination unit 122 determines thatthe same type of operation as that input immediately before is likely tobe repeated if the information of interest is input immediately afterthe end of the operation input immediately before and the input isconsidered to be started at the position where the operation inputimmediately before is started. The determination unit 122 can thus startthe repetition determination processing at least when information aboutan initial touch position where a new input operation is started isdetected as information of interest.

In step S301, the determination unit 122 obtains the information aboutthe operation input immediately before. In the present exemplaryembodiment, as will be described below, if the identification unit 125identifies the type of an input operation, the identification unit 125stores information about the identified type of the operation, the timewhen the type is identified, and the position where the identifiedoperation is started as the information about the operation inputimmediately before. The area setting unit 126 further sets a specificrange including the position where the identified operation is startedas an “input start area”, which is the range where the same type ofoperation is likely to be input. The area setting unit 126 storesinformation indicating the range in the RAM 104. In step S301, thedetermination unit 122 thus reads necessary information from the RAM104.

In step S302, the determination unit 122 determines whether theinformation of interest is detected within a predetermined time afterthe type of the operation input immediately before is identified. Thedetermination unit 122 makes the determination by referring to theinformation about the detection time included in the information ofinterest detected by the detection unit 121 and information about thetime at which the type is identified, included in the information aboutthe operation input immediately before obtained in step S301. In thepresent exemplary embodiment, for example, the predetermined time is 500ms. In other words, the determination unit 122 determines whether theinformation of interest is detected within 500 ms after the time whenthe type of the operation input immediately before is identified. If theinformation of interest is determined to be detected within thepredetermined time after the type of the operation input immediatelybefore is identified (YES in step S302), the processing proceeds to stepS303. If the information of interest is determined not to be detectedwithin the predetermined time after the type of the operation inputimmediately before is identified (NO in step S302), the processingproceeds to step S306.

In step S303, the determination unit 122 determines whether the input isstarted at a position included in the set “input start area”. Thedetermination unit 122 makes the determination by referring to positioninformation on which the new detection flag of “TRUE” is set among thepieces of information of interest detected by the detection unit 121 andthe information about the “input start area” included in the informationabout the operation input immediately before obtained in step S301. Inthe present exemplary embodiment, for example, the “input start area” isthe inside of a circle having a radius of 50 dots about the startposition of the operation input immediately before. In other words, thedetermination unit 122 determines whether the touch position on whichthe new detection flag of “TRUE” is set falls within the circle having aradius of 50 dots about the start position of the operation inputimmediately before. If the input is determined to be started at aposition included in the “input start area” (YES in step S303), theprocessing proceeds to step S304. If the input is determined not to bestarted at a position included in the “input start area” (NO in stepS303), the processing proceeds to step S306.

In step S304, the determination unit 122 determines that the same typeof operation as that input immediately before is likely to be repeated.The determination unit 122 then stores information indicating that thesame type of operation as that input immediately before is likely to berepeated, i.e., the possibility for the same type of operation to berepeated is determined to be high, into the RAM 104. For example, thedetermination unit 122 sets a repetition determination flag to indicate“TRUE”.

In step S305, the determination unit 122 increments the value of thenumber of repetitions stored in the RAM 104. Then, the processingreturns to the main processing.

In step S306, the determination unit 122 sets the value of the number ofrepetitions stored in the RAM 104 to zero.

In step S307, the determination unit 122 initializes the reference valueserving as the condition for identifying the input operation as the sametype of operation as that input immediately before. In the presentexemplary embodiment, the condition for identifying the type of anoperation is that the reference value set for each operation type isexceeded. In step S307, the determination unit 122 initializes thereference value even if the same type of operation has already beenrepeated by that point in time and a changed reference value has beenset by the processing for setting the condition in step S204 (processingfor adjusting the reference value). More specifically, the determinationunit 122 deletes the information set as the reference value in the RAM104. After the completion of the processing, the processing returns tothe main processing.

Next, details of condition setting processing performed in step S204will be described with reference to the flowchart of FIG. 4A.

In step S401, the condition setting unit 124 obtains the type of theoperation input immediately before. In the present exemplary embodiment,the condition setting unit 124 reads information indicating the type ofthe operation, which is included in the information that theidentification unit 125 stores in the RAM 104 in response to theidentification of the type of the input operation.

In step S402, the condition setting unit 124 sets a reference valuecorresponding to the type of the operation input immediately before andthe number of repetitions. In the present exemplary embodiment, thestorage unit 127 stores in advance information indicating values towhich the reference value is to be adjusted according to the number ofrepetitions when each type of operation is repeated. FIG. 9A illustratesan example of information in which the number of repetitions isassociated with reference values to be set for a flick operation. Forexample, if the number of repetitions is one, the amount of movement perunit time, or the reference value for identifying a flick, is “20”. Thenumerical value is in units of [dots/20 ms]. In such a case, if theamount of movement per unit time of the touch position derived from theinformation of interest exceeds 20 dots, the type of the operation inputbased on the information of interest is identified as a flick. If thenumber of repetitions is two, the condition setting unit 124 sets thereference value to “10”. If the number of repetitions is three or more,the condition setting unit 124 sets the reference value to “5”. In otherwords, the greater the number of repetitions, the smaller the referencevalue for identifying a flick is so that a flick becomes easier to beidentified.

The condition setting unit 124 refers to the information stored in thestorage unit 127, and reads and sets the reference value correspondingto the operation type identified in step S401, and the number ofrepetitions counted by the processing of step S203. The conditionsetting unit 124 notifies the identification unit 125 of the referencevalue. After the completion of the processing, the processing returns tothe main processing.

Next, details of flick operation identification processing performed instep S204 will be described with reference to the flowchart of FIG. 4B.

In the following description, the user is assumed to repeatedly input aflick operation as an example of a single-touch operation which the usermakes by moving a finger while touching a point on the input area withthe finger. In other words, the condition setting unit 124 is assumed toidentify in step S401 that the operation input immediately before is aflick. However, the present exemplary embodiment is not limited to aflick operation. The present exemplary embodiment is applicable tosituations where a single-touch operation whose operation type isidentified based on whether input information exceeds a certainreference value is repeatedly input.

FIG. 4B illustrates an example of the flick operation identificationprocessing performed in step S204 if the operation input immediatelybefore is identified as a flick. In the present exemplary embodiment,the processing illustrated in the flowcharts to be used to identifyrespective types is stored in the storage unit 127 in advance. Theprocessing is read and executed in response to identification of theoperation input immediately before.

In step S411, the identification unit 125 determines whether the touchposition is released, based on the information of interest that thedetection unit 121 detects at predetermined time intervals. If the touchposition is determined to be released (YES in step S411), the processingproceeds to step S412. If the touch position is determined not to bereleased (NO in step S411), the identification unit 125 repeats stepS411 to wait for a release.

In step S412, the identification unit 125 obtains information about themovement of the last-detected touch position from the start to therelease of the touch based on the information of interest stored in theRAM 104. For a flick operation, the identification unit 125 obtainsinformation indicating the amount of movement per unit time of the touchposition. In the present exemplary embodiment, the identification unit125 initially obtains a distance between the position information onwhich the new detection flag of “TRUE” is set and the positioninformation about the last-detected touch position as the movingdistance of the touch position having the ID on which the release flagof “TRUE” is set. The identification unit 125 further obtains the timetaken to make the input as a moving time from the detection time onwhich the new detection flag of “TRUE” is set and the detection time ofthe last-detected touch position. To simplify calculations, the movingtime may be expressed in units of the predetermined time intervals atwhich the detection unit 121 detects the information of interest. Theidentification unit 125 divides the moving distance by the moving timeto obtain the amount of movement of the touch position per unit time.

In step S413, the identification unit 125 determines whether theobtained amount of movement per unit time from the start to the releaseof the touch exceeds a reference value. If the condition setting unit124 has not set a reference value in step S402, the identification unit125 reads and uses the predetermined reference value stored in thestorage unit 127. If the condition setting unit 124 has set a referencevalue in step S402, the identification unit 125 uses the notifiedreference value. If the amount of movement per unit time is determinedto exceed the reference value (YES in step S413), the processingproceeds to step S414. If the amount of movement per unit time isdetermined not to exceed the reference value (NO in step S413), theprocessing returns to the main processing. Then, the main processingends.

In step S414, the identification unit 125 identifies the operation inputbased on the information of interest as a flick operation.

In step S415, the display control unit 128 generates a display image onwhich a result of execution of processing corresponding to the flickoperation is reflected, and outputs the display image to the outputdevice 110. The display control unit 128 performs processing likescrolling a display image or switching display images according to theflick operation, and provides feedback to the user. The display controlunit 128 identifies the direction and the amount of operation of theflick by using the information of interest stored in the RAM 104 by thedetection unit 121, and reflects the direction and the amount ofoperation on the output.

In step S416, the identification unit 125 stores information about theflick operation identified this time into the RAM 104 as informationabout an operation input immediately before. In the present exemplaryembodiment, the identification unit 125 stores information about theidentified type of the operation, the time when the type is identified,and the position where the identified operation is started as theinformation about the operation input immediately before.

In step S417, the area setting unit 126 sets an “input start area”,which is the specific range where the same type of operation as thatidentified this time is likely to be input, on the input area of thetouch panel display 111. Specifically, the area setting unit 126 obtainsposition information on which the new detection flag of “TRUE” is setamong the pieces of information of interest stored in the RAM 104, andidentifies a range including that position. For example, the areasetting unit 126 sets a circle having a radius of 50 dots about theobtained touch position as the “input start area”. The area setting unit126 then initializes the information of interest that has been stored inthe RAM 104 by the detection unit 121.

Now, specific examples of an “input start area” which is set based oninformation about a position where the operation input immediatelybefore is started will be described with reference to FIGS. 10A, 10B,10C, and 10D. In FIG. 10A, an area 1000 represents an “input start area”which is set based on an input start position when the operation inputimmediately before is a flick. The range of the “input start area” isinside the circle having a radius of 50 dots about a start position 1001of the flick operation input immediately before. Alternatively, theinput start area may be set, for example, to range between ±50 dots bothin X and Y coordinates with respect to the start position 1001 of theflick operation input immediately before. While the numerical value of50 dots is employed in the present exemplary embodiment, the value maybe arbitrarily changed. The size of the “input start area” may bedetermined based on the size of the touch panel display 111. In FIG.10A, a start position 1003 of the current operation input based on theinformation of interest is included in the area 1000. The possibilityfor the same type of operation to be repeated is thus considered to behigh (YES in step S203). In FIG. 10B, a start position 1003 of thecurrent operation input based on the information of interest liesoutside the area 1000. In such a case, in the present exemplaryembodiment, the possibility for the same type of operation to berepeated is considered to be low. The same type of operation is thusdetermined not to be likely to be repeated (NO in step S203).

Described above is the processing for determining whether a touchoperation, whose operation type is identified based on whether inputinformation exceeds a certain reference value, is likely to be repeatedbefore identifying the type of the touch operation according to thepresent exemplary embodiment.

In the present exemplary embodiment, the reference value is changedstepwise according to the number of repetitions. However, this is justan example and not a requirement. For example, the condition settingunit 124 may adjust the reference value for identifying a flickaccording to the time elapsed from when a flick is identified last timeto when the next input is started. In such a case, the condition settingunit 124 adjusts the reference value for identifying a flick to asmaller value, considering that the shorter the elapsed time from theprevious identification, the higher the possibility for a flick to bemade again the next time.

The determination unit 122 according to the present exemplary embodimentmakes a determination in two stages, including the processing fordetermining whether the next input is started immediately after the typeof the operation input immediately before is identified, and theprocessing for determining whether the next input is started at theinput start area. However, the processing for determining whether a newoperation input is started within the input start area can be omitted.In general, a user who is repeating the same type of operation tends tomake rough inputs. A likely reason is that the user quickly moves thefinger due to short intervals between the operations. The problem thatthe repetition of operations invites the user's rough inputs withinsufficient amounts of movement of the touch positions can be solved byperforming at least the processing for determining whether the nextinput is started immediately after the type of the operation inputimmediately before is identified. However, the processing fordetermining whether the next input is started within the input startarea can be added to enable a more precise determination. The reason isthat the possibility for the same type of operation to be repeated isconsidered to be high if the user returns the finger to the startposition of the previous operation immediately after the previousoperation.

The first exemplary embodiment has been described by using therepetition of a flick operation as an example. Among single-touchoperations, the flick operation is particularly likely to be inputrepeatedly. The present exemplary embodiment may be modified to beapplied only to such problematic operations in particular. For example,the repetition determination processing may include additionaldetermination steps appropriate for respective operation types. Forexample, flick operations can be associated with display commands ofdifferent types of processing depending on the input direction. In sucha case, step S303 may be followed by an additional processing step inwhich the determination unit 122 obtains the direction of the inputoperation, and determines whether the input is generally in the samedirection as the input direction of the operation input immediatelybefore. This can make a distinction, for example, between rightward andleftward flicks to more accurately determine whether the same type ofoperation as that input immediately before is repeated. However, inorder to calculate the input direction of a new input operation based onthe information of interest, position information about at least twopoints needs to have been detected.

For example, as illustrated in FIG. 10A described above, thedetermination unit 122 determines whether an angular difference betweenthe direction of the flick operation input immediately before from theposition 1001 to a position 1002 and the direction of the operationinput based on the information of interest from the position 1003 to aposition 1004 is smaller than or equal to a predetermined angle. Supposethat the predetermined angle is 45°. If the angular difference issmaller than or equal to 45°, the processing proceeds to step S304 wherethe determination unit 122 determines that the same type of operation asthat input immediately before is likely to be repeated. If the angulardifference exceeds 45°, the processing proceeds to step S307. Thedetermination unit 122 calculates the input direction by usingcoordinate information about two touch positions included in theinformation of interest and an arctangent. Suppose that the user touchesthe touch panel display 111 at coordinates (X1, Y1) and releases atcoordinates (X2, Y2). The determination unit 122 calculates tanθ=(Y2−Y1)/(X2−X1), and then calculates the input direction θ. If (Y2−Y1)has a negative value, the determination unit 122 adds 180° to the inputdirection since the user operation is made in a negative direction withrespect to the Y-axis.

A specific example of the calculation of the input direction will bedescribed referring to FIG. 10A as an example. FIG. 10A is a diagramillustrating an example of a user operation. The position 1003represents the start position of an input, and the position 1004represents the end position. For example, if the position 1003 is atcoordinates (100,500) and the position 1004 is at coordinates (300,500),tan θ=(500−500)/(300−100)=0 and θ=0°. Then, the input direction isdetermined to be 0°. FIG. 10C illustrates a case where the input is notmade within 45°. A position 1007 represents the start position of theinput, and a position 1008 represents the end position. For example, ifthe position 1007 is at coordinates (100,500) and the position 1008 isat coordinates (200,800), tan θ=(800−500)/(200−100)=3 and θ=71°. Thatis, the input direction is 71°. The input direction of the previousflick from the position 1001 to the position 1002 is 0°. Since the inputdirection of 71° exceeds 45° with respect to the direction of theprevious flick of 0°, the determination unit 122 determines that theinput is not in the same direction.

As described above, some operation types need a further distinction,like similar flicks in different directions. Appropriate determinationprocessing for such operation types can be added to enable a moreprecise determination.

The present exemplary embodiment has dealt with the case where thedetermination unit 122 determines whether the same type of operation islikely to be repeated, by using the detection time of the start of anoperation, the input start position, and the input direction. Using thedetection time of the start of the operation and the input startposition, the determination unit 122 can immediately perform therepetition determination processing when new information of interest isobtained. However, the determination method is not limited thereto. Forexample, the determination unit 122 may consider the possibility for thesame type of operation to be repeated to be high if a difference ininput speed from the operation input immediately before falls within apredetermined range. The determination unit 122 may obtain the starttime of an operation prior to that input immediately before, andconsider the possibility for the same type of operation to be repeatedto be high if the inputs are started at regular time intervals.

As described above, in the first exemplary embodiment, if thepossibility for the same type of operation as that input immediatelybefore to be repeatedly input is considered to be high, the informationprocessing apparatus 100 changes the condition for identifying the sametype of operation as that input immediately before. This makes it easierfor an input operation to be identified as the same type of operation asthat input immediately before than when the possibility for the sametype of operation to be repeatedly input is considered to be low. Theuser may make rough inputs with insufficient amounts of movement as theuser repeats operations. Even in such a case, the operations are morelikely to be recognized as intended by the user. In other words,malfunctions to the user can be reduced. In particular, according to thepresent exemplary embodiment, the information processing apparatus 100changes the strictness of the condition (the magnitude of the referencevalue) according to the number of times the same type of operation hasbeen repeated. As the number of repetitions increases and inputs tend tobe rougher, an input operation becomes more likely to be identified asthe same type of operation as that input immediately before. If thecondition for identifying the same type of operation as that inputimmediately before is not satisfied, the information processingapparatus 100 performs processing corresponding to various operationsother than that input immediately before, provided that predeterminedconditions for identifying the input of the ordinary other operationsare satisfied.

Next, modifications applicable to the present exemplary embodiment willbe described.

In the first exemplary embodiment, the information processing apparatus100 changes the reference value for a next input operation to beidentified as the same type of operation as that input immediatelybefore according to the number of times the same type of operation hasbeen repeated.

In a first modification, the information processing apparatus 100identifies the operation type if the number of repetitions exceeds acertain number of times. In other words, the information processingapparatus 100 starts to perform the processing corresponding to the sametype of operation as that input immediately before at the point of timewhen the same type of operation is determined to be likely to berepeated. Like the first exemplary embodiment, the first modificationwill be described below by using an example where the user repeats aflick operation.

In the first modification, the information processing apparatus 100 hasa hardware configuration similar to that of FIG. 1A according to thefirst exemplary embodiment. The functional configuration of theinformation processing apparatus 100 is also similar except theprocessing of the determination unit 122 and the determination unit 125.The following description deals only with differences.

The determination unit 122 of the first modification performs theprocessing according to the first exemplary embodiment. In additionthereto, if the same type of operation as that input immediately beforeis determined to be likely to be repeated, the determination unit 122further determines whether the number of repetitions of the same type ofoperation is greater than or equal to a predetermined number of times.If the number of repetitions is greater than or equal to thepredetermined number of times, the determination unit 122 notifies theidentification unit 125 that the number of repetitions of the same typeof operation is greater than or equal to the predetermined number oftimes.

If the identification unit 125 of the first modification is notified bythe determination unit 122 that the number of repetitions of the sametype of operation is greater than or equal to the predetermined numberof times, the identification unit 125 identifies the input operation asthe same type of operation as that immediately before, omitting thedetermination whether information obtained based on the information ofinterest satisfies a condition.

Like the first exemplary embodiment, the information processingapparatus 100 of the first modification basically performs the mainprocessing according to the flowchart of FIG. 2A.

The repetition determination processing (step S202) includes additionalprocessing in which the determination unit 122, after incrementing thenumber of repetitions, determines whether the number of repetitions ofthe same type of operation is greater than or equal to the predeterminednumber of times. If the number of repetitions is determined to begreater than or equal to the predetermined number of times, thedetermination unit 122 sets a multiple succession flag of “TRUE” on theRAM 104. The processing then returns to the main processing. Theidentification unit 125 can refer to the multiple succession flag toobtain the determination result. If the number of repetitions isdetermined not to be greater than or equal to the predetermined numberof times, the processing simply returns to the main processing.

Before obtaining the information about the movement of the touchposition in step S412, the identification unit 125 refers to the RAM 104and determines whether the multiple succession flag is “true”. If themultiple succession flag is “TRUE”, then in step S414, theidentification unit 125 determines that the input operation is a flickoperation, omitting the processing of steps S412 and S413. Thesubsequent processing is similar to that of the first exemplaryembodiment.

For example, suppose that the predetermined number of repetitions isfour, and the user has already repeated a flick four times. According tothe first modification, the identification unit 125 then identifies theinput of the fifth and subsequent flicks as soon as the user touchesnear the start position of the previous flick immediately after the endof the previous flick. However, while the determination unit 122 heredetermines whether the number of repetitions is greater than or equal tofour, this is just an example and not a requirement.

According to the first modification, if the same type of operation hasbeen repeated many times, the information processing apparatus 100provides feedback when the user starts a touch. For example, if the userrepeats a flick, the user eventually can just tap (touch and release thetouch panel without a move) to obtain the same result as with a flick.This allows easier operations. The user can thus obtain a desired resultmore quickly.

In the first exemplary embodiment, the information processing apparatus100 sets the “input start area” based the position where the operationinput immediately before is started, and determines whether a newoperation input is started at a position included in the “input startarea”. If rightward and leftward flicks need to be distinguished, theinformation processing apparatus 100 determines whether the inputdirections are similar, as a determination factor for determiningwhether the same type of operation is likely to be repeated.

In a second modification, the information processing apparatus 100 setsthe “input start area” based on the position where the operation inputimmediately before is ended, and determines whether a new operationinput is started at a position included in the “input start area”. Thereason is that the user tends to start a next operation at the positionwhere the previous operation ends, in situations where the user repeatsoperations of opposite directions alternately. Like the first exemplaryembodiment, the second modification will be described below by using anexample where the user repeats flick operations.

In the second modification, the information processing apparatus 100 hasa hardware configuration similar to that of FIG. 1A according to thefirst exemplary embodiment. The functional configuration of theinformation processing apparatus 100 is also similar except theprocessing of the area setting unit 126. The following description dealsonly with differences.

After the identification unit 125 identifies the type of the operationinput based on the information of interest, the area setting unit 126 ofthe second modification sets a specific range including the positionwhere the operation is ended as an “input start area”. Specifically, thearea setting unit 126 identifies the range including the last-detectedtouch position in the information of interest stored in the RAM 104.

The information processing apparatus 100 of the second modificationperforms similar processing to that of the flowcharts described in thefirst exemplary embodiment. A description thereof will thus be omitted.

A specific example of the “input start area” according to the secondmodification will be described with reference to FIG. 10D. Like FIGS.10A, 10B, and 10C, positions 1001 and 1002 of FIG. 10D represent thestart position and end position of a flick input immediately before. Anarea 1009 represents the “input start area” set by the area setting unit126 of the second modification. The “input start area” of the secondmodification is an area illustrated by a circle having a radius of 50dots about the position 1002 that is the end position of the flick inputimmediately before (position where the user's finger is released). Likethe first exemplary embodiment, the input start area is set to acircular range having a radius of 50 dots, whereas this is notrestrictive. For example, the input start area may be set to rangebetween ±50 dots both in X and Y coordinates with respect to the endcoordinates. While the numerical value of 50 dots is employed in thismodification, the value may be arbitrarily changed. The size of the“input start area” may be determined based on the size of the touchpanel display 111.

As describe above, according to the second modification, the informationprocessing apparatus 100 determines whether the same type of operationis likely to be repeated in situations where the user repeatedly inputsoperations of opposite directions alternately. The informationprocessing apparatus 100 therefore sets the “input start area” based onthe end position of the operation input immediately before. However, theuse of the end position of the operation input immediately before isjust an example. For example, like the first exemplary embodiment, theinformation processing apparatus 100 may determine the “input startarea” based on the start position of the operation input immediatelybefore, and perform processing for extending the “input start area” inan operation direction of the operation input immediately before. Theinformation processing apparatus 100 may change the size of the range tobe extended and/or the size of the initially set area according to thespeed of the operation.

The user may make rough inputs with insufficient amounts of movement asThe user repeats operations of opposite directions alternately.According to the second modification, even such operations are likely tobe recognized as intended.

In the first exemplary embodiment, the “input start area” is set byusing the start position of the operation input immediately before. Inthe second modification of the first exemplary embodiment, the “inputstart area” is set by using the end position of the operation inputimmediately before. The position information serving as a reference forsetting the “input start area” is not limited thereto. In a thirdmodification, for example, the information processing apparatus 100 mayset the “input start area” based on average coordinates of the positionswhere the same type of operations repeatedly input are started. Inanother example, the information processing apparatus 100 may set the“input start area” based on a difference between the input startpositions of two successive operations.

For example, when the contents of the display image are changed byscrolling, some part of the display image may become unavailable tostart a touch input for flicking, depending on the contents of thedisplay image (for example, hyperlink positions of a browser). In thethird modification, the information processing apparatus 100 sets the“input start area” by using information about operations that havealready been repeated several times. Consequently, even if the userchanges the position to start an operation, the information processingapparatus 100 can make a determination by absorbing such an error.

A second exemplary embodiment will be described. The second exemplaryembodiment also deals with an example where a touch operation, whoseoperation type is identified based on whether input information exceedsa certain reference value, is determined to be likely to be repeatedlyinput to an information processing apparatus 100 capable of recognizinga touch operation before the type of the touch operation is identified.The second exemplary embodiment takes into account the case where theuser repeats multi-touch operations aside from single-touch operations.A multi-touch operation refers to an operation that the user makes bymoving fingers while simultaneously touching a plurality of points onthe input area with the fingers. Examples of a multi-touch operationwhose operation type is identified based on whether input informationexceeds a certain reference value include a multi-drag, a pinch, and arotate. A multi-drag is identified by that two touch positions aresimultaneously moved in parallel (two touch positions are moved insimilar directions while maintaining a constant distance therebetween)over a moving distance more than a predetermined reference value. Forexample, a multi-drag is used as an instruction operation for processingfor changing a display image displayed on the touch panel display 111 toa specific image. A pinch is identified by that the amount of change ofthe distance between two touch positions exceeds a predeterminedreference value. For example, a pinch is used as an instructionoperation for processing for enlarging (or reducing) a display imagedisplayed on the touch panel display 111 according to the amount ofchange of the distance between the two touch positions. A rotate isidentified by that the amount of change in the angle formed by a linejoining two touch positions before and after the movement of the touchpositions exceeds a predetermined reference value. For example, a rotateis used as an instruction operation for processing for rotating adisplay image displayed on the touch panel display 111 according to theamount of change of the angle. The second exemplary embodiment addressesthe problem that the user may make rough inputs with insufficientamounts of movement of touch positions as he/she repeatedly inputs amulti-touch operation. In the second exemplary embodiment, if the sametype of multi-touch operation is determined to be likely to be repeated,the information processing apparatus 100 changes a condition andidentifies the type of the operation.

The information processing apparatus 100 according to the secondexemplary embodiment has a hardware configuration similar to that ofFIG. 1A according to the first exemplary embodiment. However, the touchpanel display 111 can simultaneously detect the input of a plurality oftouch positions. The touch panel display identifies a plurality oftouches by using IDs as described above.

The functional configuration of the information processing apparatus 100according to the second exemplary embodiment is also similar except theprocessing of the determination unit 122 and the area setting unit 126.The following description deals only with differences.

Like the first exemplary embodiment, the determination unit 122according to the second exemplary embodiment makes a determination intwo stages, including the processing for determining whether the nextinput is started immediately after the type of the operation inputimmediately before is identified and the processing for determiningwhether the next input is started at an input start area. If theoperation input immediately before is a multi-touch operation, theprocessing for determining whether the next input is started at an inputstart area includes determining whether each of a plurality of set“input start areas” includes at least one start position of the nextinput.

If the type of an input multi-touch operation is identified by theidentification unit 125, the area setting unit 126 according to thesecond exemplary embodiment sets a predetermined range including aninput start position as an “input start area” for each of the pluralityof touch positions used for the multi-touch operation. The area settingunit 126 stores information indicating the ranges of the respective“input start areas” into the RAM 104 in association with identifiableIDs.

Touch positions detected by the detection unit 121 are associated withIDs in order of detection of the touch positions. For example, supposethat the user input the previous multi-touch operation by using an indexfinger and a middle finger, and the position touched with the indexfinger was detected with ID=1 and the position touched with the middlefinger was detected with ID=2. When the user inputs the same type ofoperation the next time, the touch positions are not necessarilydetected in the same order. The position touched with the middle fingerfor the second time may be detected with ID=1, and the position touchedwith the index finger may be detected with ID=2. The determination unit122 therefore determines whether a multi-touch operation is likely to berepeated, by using the condition that the touch positions are includedin any one of the “input start areas” based on the plurality of touchstart positions of the previous multi-touch operation irrespective ofthe IDs.

Like the first exemplary embodiment, the information processingapparatus 100 according to the second exemplary embodiment basicallyperforms the main processing according to the flowchart of FIG. 2A.

In the repetition determination processing (step S202), the informationprocessing apparatus 100 calls and performs the flowchart illustrated inFIG. 5.

The repetition determination processing performed in the secondexemplary embodiment will be described with reference to the flowchartof FIG. 5.

In step S501, the determination unit 122 reads and obtains informationabout the operation input immediately before from the RAM 104. Step S501corresponds to step S301 in the flowchart of FIG. 3.

In step S502, the determination unit 122 determines whether theoperation input immediately before is a multi-touch operation, based onthe obtained information. If the operation input immediately before isdetermined to be a multi-touch operation (YES in step S502), theprocessing proceeds to step S503. If the operation input immediatelybefore is determined not to be a multi-touch operation, i.e., to be asingle-touch operation (NO in step S502), the processing proceeds tostep S505.

In step S503, the determination unit 122 determines whether a pluralityof touch positions is detected. In the present exemplary embodiment, thenumber of detected touch positions can be found out by referring to theinformation about the ID(s) of the touch position(s) included in theinformation of interest stored in the RAM 104. The determination unit122 then refers to the information of the RAM 104 and makes thedetermination. If a plurality of touch positions is determined to bedetected (YES in step S503), the processing proceeds to step S504. If aplurality of touch positions is determined not to be detected (NO instep S503), the processing proceeds to step S506. However, thedetermination unit 122 determines a plurality of touch positions not tobe detected if a second touch position is not detected within a certainperiod of time after the detection of a first touch position. If it iswithin the certain period of time, the determination unit 122 waits fora second input.

In step S504, the determination unit 122 performs processing fordetermining whether the same type of multi-touch operation as that inputimmediately before is likely to be repeated. The processing will bedescribed in detail below with reference to the flowchart of FIGS. 6Aand 6B.

In step S505, the determination unit 122 performs processing fordetermining whether the same type of single-touch operation as thatinput immediately before is likely to be repeated. In step S505, thedetermination unit 122 performs the processing according to theflowchart of FIG. 3 described above. A description thereof will beomitted here.

The processing proceeds to step S506 if the operation input immediatelybefore is a multi-touch operation and the number of touch positionsdetected is one. In such a case, the possibility for a single-touchoperation to be made is considered to be high, and the possibility forthe multi-touch operation to be repeated is considered to be low. Instep S506, the determination processing unit 122 therefore sets thevalue of the number of repetitions stored in the RAM 104 to zero. Instep S507, the determination unit 122 initializes the reference valueserving as the condition for identifying the input operation as the sametype of operation as that input immediately before. The processingperformed in steps S506 and S507 is similar to the processing performedin steps S306 and S307 of the flowchart of FIG. 3.

Next, details of the multi-touch operation repetition determinationprocessing performed in step S504 will be described with reference tothe flowchart of FIGS. 6A and 6B. Processing steps similar to those ofthe single-touch operation repetition determination processing describedaccording to the first exemplary embodiment are designated by the samereference numerals. Thus, detailed descriptions thereof will be omitted.

Even with multi-touch operations, the determination unit 122 determinesthat the same type of operation as that input immediately before islikely to be repeated if the information of interest is inputimmediately after the end of the operation input immediately before andthe input is considered to be started at a position where the operationinput immediately before is started. The determination unit 122 can thusstart the determination processing at least when information about thefirst touch position at which a new input operation is started isdetected as information of interest.

In the second exemplary embodiment, the information about the operationinput immediately before has been obtained in step S501. As for themulti-touch operation repetition determination processing, in step S302,the determination unit 122 therefore initially determines whether theinformation of interest is detected within a predetermined time afterthe type of the operation input immediately before is identified. If theinformation of interest is determined to be detected within thepredetermined time after the type of the operation input immediatelybefore is identified (YES in step S302), the processing proceeds to stepS601. If the information of interest is determined not to be detectedwithin the predetermined time after the type of the operation inputimmediately before is identified (NO in step S302), the processingproceeds to step S306.

In step S601, the determination unit 122 selects one of the plurality oftouch positions detected by the detection unit 121. In the presentexemplary embodiment, the determination unit 122 selects one of the IDsfor identifying the touch positions included in the information ofinterest stored in the RAM 104. If the determination unit 122 performsthe processing of step S601 for the second and subsequent times, thedetermination unit 122 selects one of the IDs not selected by theprevious selection(s).

In step S602, the determination unit 122 determines whether the input ofthe selected touch position is started at any one of the input startareas. In the present exemplary embodiment, the determination unit 122initially obtains coordinate information about a touch position on whicha detection start flag of “TRUE” is set from the information stored inthe RAM 104 in association with the selected ID. The determination unit122 then determines whether the obtained coordinate informationindicates a position included in any one of the plurality of “inputstart areas” set by the area setting unit 126. If the input of theselected touch position is determined to be started at any one of theinput start areas (YES in step S602), the processing proceeds to stepS603. If the input of the selected touch position is determined not tobe started at any of the input start areas (NO in step S602), theprocessing proceeds to step S306.

In step S603, the determination unit 122 associates the selected touchposition with the “input start area” at which the input of the touchposition is started, and stores the information in the RAM 104. In thepresent exemplary embodiment, the touch position and the “input startarea” have respective IDs. The determination unit 122 thus associatesthe IDs with each other. Since the plurality of “input start areas” canoverlap each other, the association is not necessarily made on aone-to-one basis. One touch position may be associated with a pluralityof “input start areas”.

In step S604, the determination unit 122 determines whether thedetermination processing of step S602 has been performed on all thedetected touch positions. If the determination processing of step S602is determined to have been performed on all the touch positions (YES instep S604), the processing proceeds to step S605. If the determinationprocessing of step S602 is determined not to have been performed on allthe touch positions (NO in step S604), the processing returns to stepS601 to repeat the processing.

In step S605, the determination unit 122 determines whether all theinput start areas are associated with at least one touch position. Todetermine whether the same type of multi-touch operation is likely to berepeated, at least one touch position needs to start to be input at eachof the “input start areas”. The reason is that if the “input startareas” include any area at which no touch position starts to be input,it means that the start positions of the new multi-touch operationstarting to be input are significantly different from those of themulti-touch operation input immediately before. To determine whether thesame type of multi-touch operation as that input immediately before islikely to be repeated, the determination unit 122 according to thepresent exemplary embodiment refers to association information stored inthe RAM 104 and determines whether all the input start areas areassociated with at least one touch position. If all the input startareas are determined to be associated with at least one touch position(YES in step S605), the processing proceeds to step S304. If all theinput start areas are determined not to be associated with at least onetouch position (NO in step S605), the processing proceeds to step S306.

In steps S304 to S307, the determination unit 122 performs similarprocessing to that of the first exemplary embodiment. Thus, descriptionsthereof will be omitted. After the completion of the processing, theprocessing returns to the main processing.

Even in the second exemplary embodiment, the information processingapparatus 100 performs the processing for setting the condition foridentifying the type of an operation (step S204) by calling andperforming the flowchart illustrated in FIG. 4A, according to the resultof the repetition determination. The processing will be described belowwith respect to each type of an operation input immediately before,identified in step S401.

<Multi-Drag>

Suppose that in step S401, the condition setting unit 124 identifies theoperation input immediately before as a multi-drag. In such a case, instep S402, the condition setting unit 124 sets a reference valuecorresponding to the number of repetitions of a multi-drag operation.FIG. 9B illustrates an example of information in which the number ofrepetitions is associated with reference values to be set for amulti-drag operation. A predetermined condition for a multi-dragoperation to be identified is that two touch positions are moved over amoving distance more than a predetermined reference value whilemaintaining a generally constant distance therebetween. For example, ifthe number of repetitions is one, the moving distance or the referencevalue for a multi-drag operation to be identified is “20”. The numericalvalue is in units of [dots]. This reference value means that if themoving distance of the touch positions derived from the information ofinterest exceeds 20 dots, the type of the operation input based on theinformation of interest is identified as a multi-drag. If the number ofrepetitions is two, the reference value is set to “10”. If the number ofrepetitions is three or more, the reference value is set to “5”. Thatis, the greater the number of repetitions, the smaller the referencevalue for a multi-drag operation to be identified is so that amulti-drag becomes easier to be identified.

The subsequent processing (steps S205 and S206) will be described belowon the assumption that the operation input immediately before is amulti-drag. FIG. 7 is a flowchart illustrating an example of processingfor identifying an input operation as a multi-drag operation repeatedlyinput.

In step S701, the identification unit 125 obtains information about themovement of the two touch positions from the start of the touch. In thepresent exemplary embodiment, the identification unit 125 obtainsinformation about the moving distance over which the two touch positionsare moved and the distance between the two touch positions before andafter the movement from the information of interest stored in the RAM104 by the detection unit 121. If there are three or more touchpositions detected by the detection unit 121, the identification unit125 obtains information about the touch positions of the two earliestdetection times.

In step S702, the identification unit 125 determines whether the movingdistance of the two touch positions moved with a approximately constantdistance therebetween exceeds a reference value. If the conditionsetting unit 124 has not set a reference value in step S402, theidentification unit 125 reads a predetermined reference value stored inthe storage unit 127. If the condition setting unit 124 has set areference value in step S402, the identification unit 125 uses thenotified reference value. If the moving distance is determined to exceedthe reference value (YES in step S702), the processing proceeds to stepS703. If the moving distance is determined not to exceed the referencevalue (NO in step S702), the processing returns to the main processing.Then, the main processing ends.

In step S703, the identification unit 125 identifies the operation inputbased on the information of interest as a multi-drag operation.

In step S704, the display control unit 128 generates a display image onwhich a result of execution of processing corresponding to themulti-drag operation is reflected, and outputs the display image to theoutput device 110. For example, the display control unit 128 changes adisplay image according to a specific rule, and feeds back the resultingdisplay image to the user. Here, the display control unit 128 identifiesthe direction and the amount of operation of the multi-drag by using theinformation of interest stored in the RAM 104 by the detection unit 121,and reflects the direction and the amount of operation on the output.

In step S705, the identification unit 125 determines whether the touchpositions are released, based on the information of interest detected bythe detection unit 121 at predetermined time intervals. If the touchpositions are determined to be released (YES in step S705), theprocessing proceeds to step S706. If the touch positions are determinednot to be released (NO in step S705), the processing returns to stepS704, and the display control unit 128 continues performing theprocessing corresponding to the multi-drag until the touch positions arereleased.

In step S706, the identification unit 125 stores information about themulti-drag operation identified this time into the RAM 104 asinformation about an operation input immediately before. In the presentexemplary embodiment, the identification unit 125 stores informationabout the identified type of the operation, the time at which the typeis identified, and the plurality of touch positions at which theidentified operation is started as the information about the operationinput immediately before.

In step S707, the area setting unit 126 sets “input start areas”, whichare the specific ranges where the same type of operation as thatidentified this time is likely to be input, on the input area of thetouch panel display 111. Here, the area setting unit 126 sets aplurality of “input start areas” based on the respective plurality oftouch positions. Specifically, the area setting unit 126 obtains twopieces of position information on which the new detection flag of “TRUE”is set among the pieces of information of interest stored in the RAM104, and identifies two areas including the respective positions. Forexample, the area setting unit 126 sets circles having a radius of 50dots about the respective touch positions as the “input start areas”.The area setting unit 126 then initializes the information of interestthat has been stored in the RAM 104 by the detection unit 121.

A specific example of “input start areas” that are set based oninformation about positions at which a multi-touch operation inputimmediately before is started will be described with reference to FIG.11A. In FIG. 11A, a position 1102 represents the input start position ofa touch position having an ID=1, and a position 1103 represents theinput start position of a touch position having an ID=2. In FIGS. 11A to11D, touch positions having an ID=1 are symbolized by a black circle.Touch positions having an ID=2 are symbolized by a black star. Positions1104 and 1105 represent the touches when the respective touch positionsare moved and the input operation is identified as a multi-drag. An area1100 represents a “first input start area” which is set based on theposition 1102. An area 1101 represents a “second input start area” whichis set based on the position 1103. Each “input start area” is set as anarea having a radius of 50 dots about the start position of the touchinput. Like the first exemplary embodiment, the input start areas arenot limited to circles having a radius of 50 dots, and may be defined byusing other methods.

FIGS. 11B to 11D illustrate start positions of the next multi-touchoperation input after the type of the multi-drag operation illustratedin FIG. 11A is identified.

In FIG. 11B, a touch position 1106 having an ID=1 is started from insidethe “first input start area” 1100. A touch position 1107 having an ID=2is started from inside the “second input start area” 1101. In FIG. 11C,a touch position 1109 having an ID=1 is started from inside the “secondinput start area” 1101. A touch position 1108 having an ID=2 is startedfrom inside the “first input start area” 1100. In both FIGS. 11B and11C, the touch positions are each included in any one of the “inputstart areas”, and all the “input start areas” are associated with atleast one touch position. The determination unit 122 thus determinesthat the same type of operation as the multi-touch operation inputimmediately before is likely to be repeated.

In FIG. 11D, a touch position 1111 having an ID=2 is started from insidethe “second input start area” 1101, whereas a touch position 1110 havingan ID=1 is started from outside the “first input start area” 1100. Thedetermination unit 122 therefore determines that the same type ofoperation is not likely to be repeated.

Up to this point, processing for determining that a multi-touchoperation is likely to be repeatedly input before controlling thecondition for identifying an input operation as the same type ofoperation as repeated has been described by using a multi-drag as anexample.

<Pinch>

Next, a description will be given of the case where the operation inputimmediately before is identified as a pinch in step S401. In such acase, in step S402, the condition setting unit 124 sets a referencevalue corresponding to the number of repetitions of a pinch operation.FIG. 9C illustrates an example of information in which the number ofrepetitions is associated with reference values to be set for a pinchoperation. A predetermined condition for a pinch operation to beidentified is that the amount of change in the distance between twotouch positions exceeds a predetermined reference value. For example, ifthe number of repetitions is one, the amount of change in the distancebetween the two touch positions or the reference value for a pinchoperation to be identified is “20”. The numerical value is in units of[dots]. This reference value means that if the amount of change in thedistance between the two touch positions derived from the information ofinterest exceeds 20 dots, the type of the operation input based on theinformation of interest is identified as a pinch. As with a flick and amulti-drag, the greater the number of repetitions of a pinch, thesmaller the reference value for a pinch operation to be identified is sothat a pinch becomes easier to be identified.

The subsequent processing (steps S205 and S206) will be described belowwith reference to the flowchart of FIG. 8 on the assumption that theoperation input immediately before is a pinch. A description ofprocessing similar to that of FIG. 7 with a multi-drag will be omitted.

In step S800 in the flowchart of FIG. 8, the identification unit 125obtains the amount of change in the distance between the two touchpositions as information about the movement.

In step S801, the identification unit 125 determines whether the amountof change in the distance between the two touch positions exceeds thereference value. If the amount of change in the distance between the twotouch positions is determined to exceed the reference value (YES in stepS801), the processing proceeds to step S802. If the amount of change inthe distance between the two touch positions is determined not to exceedthe reference value (NO in step S801), the processing returns to themain processing. Then, the main processing ends.

In step S802, the identification unit 125 identifies the input operationbased on the information of interest as a pinch operation.

In step S803, the display control unit 128 generates a display image onwhich a result of execution of processing corresponding to the pinchoperation is reflected, and outputs the display image to the outputdevice 110. For example, the display control unit 128 enlarges (orreduces) a display image displayed on the touch panel display 111according to the amount of change in the distance between the two touchpositions, and feeds back the resulting display image to the user. Here,the display control unit 128 identifies the direction and the amount ofoperation of the pinch by using the information of interest stored inthe RAM 104 by the detection unit 121, and reflects the direction andthe amount of operation on the output.

In step S804, the identification unit 125 stores information about thepinch operation identified this time into the RAM 104 as informationabout an operation input immediately before. In the present exemplaryembodiment, the identification unit 125 stores information about thetype of the identified operation, the time at which the type isidentified, and the plurality of touch positions at which the identifiedoperation is started as the information about the operation inputimmediately before.

Described above are the details of the processing performed if theoperation input immediately before is identified as a pinch operation instep S401.

As the user repeats a pinch operation, the user may make a rough inputwith insufficient amounts of change of the two touch positions that aredetected as the amount of operation of a pinch operation. Even in such acase, the input operation can be identified as a pinch operation by theprocessing of the second exemplary embodiment. However, if the amountsof change of the two touch positions detected as the amount of operationof a pinch operation are insufficient, the input pinch operation mayfail to provide an output intended by the user. For example, if theprocessing corresponding to a pinch is enlargement of a display image,the enlargement rate of the output display image can be smaller thanintended by the user. If the identified operation is a pinch operation,the information processing apparatus 100 may correct a parameter of theoperation corresponding to the pinch when the condition setting unit 124reduces the reference value according to the number of repetitions instep S402.

FIG. 9D illustrates an example of information in which the number ofrepetitions is associated with correction values for the enlargementrate that is an example of the parameter to be set. If the number ofrepetitions is zero, the enlargement rate of the display image istypically made to coincide with the rate of change of the distancebetween the two touch operations. For example, suppose that an initialvalue of the distance between the two touch positions is 200 dots. Ifthe touch positions are moved to 400 dots, the enlargement rate istwice. According to the second exemplary embodiment, if the number ofrepetitions is one, the enlargement rate of 2 derived from the amount ofchange is further multiplied by a correction value of 1.2 to enlarge thedisplay image at an enlargement rate of 2.4 times. Similarly, if thenumber of repetitions is two, the enlargement rate is 2×1.5=3.0 times.If the number of repetitions is three or more, the enlargement rate is2×2.0=4.0 times. As a result, even if the change in the distance betweenthe two touch positions is insufficient, the enlargement rate of thedisplay image can be corrected to provide feedback as intended by theuser.

Up to this point, the processing for determining that a multi-touchoperation is likely to be repeatedly input before controlling thecondition for identifying an input operation as the same type ofoperation as repeated has been described by using a pinch as an example.

<Rotate>

The information processing apparatus 100 performs similar processing ifthe operation input immediately before is identified as a rotate. Instep S402, the condition setting unit 124 sets a reference valuecorresponding to the number of repetitions of a rotate operation. Apredetermined condition for a rotate operation to be identified is thatthe amount of change in the angle formed by a line joining two touchpositions before and after a movement of the touch positions exceeds apredetermined reference value. As with a flick, multi-drag, and pinch,the greater the number of repetitions of a rotate, the smaller thereference value for a rotate operation to be identified is so that arotate becomes easier to be identified.

If the operation input immediately before is a rotate, the processingperformed in steps S205 and S206 is similar to that of a multi-drag orthat of a pinch illustrated in FIG. 8. Detailed descriptions thereofwill be thus omitted.

For a rotate operation, the identification unit 125 obtains the amountof change in the angle formed by the line joining the two touchpositions before and after the movement of the touch positions. If theobtained amount of change exceeds the reference value, theidentification unit 125 identifies the input operation as a rotate. Thedisplay control unit 128 then generates a display image rotatedaccording to the rotate operation, and outputs the display image to theoutput device 110.

As with a pinch, the information processing apparatus 100 can set aparameter to be used for the output processing of a rotate as well asthe reference value according to the number of repetitions. The reasonis that as the user repeats an operation for rotating a display image bya rotate, the user may make a rough input with insufficient movements ofthe touch positions, in which case the information processing apparatus100 may fail to provide an output intended by the user. For a rotate,the information processing apparatus 100 corrects the amount of rotationof the display image according to the number of repetitions.

Up to this point, the processing for determining that a multi-touchoperation is likely to be repeatedly input before controlling thecondition for identifying an input operation as the same type ofoperation as repeated has been described by using a rotate as anexample.

As described above, according to the second exemplary embodiment, theinformation processing apparatus 100 changes the condition foridentifying the same type of operation as that input immediately beforeif the possibility for the same type of operation to be repeatedly inputis considered to be high, taking into account the situations where theoperation input immediately before is a multi-touch operation. Inparticular, the information processing apparatus 100 can accuratelydetermine the likeliness of repetition regardless of the order in whicha plurality of touch positions constituting a multi-touch operation isdetected. As a result, an input operation becomes easier to beidentified as the same type of operation as that input immediatelybefore than when the same type of operation is considered to be lesslikely to be repeatedly input. Consequently, even if the user makesrough inputs with insufficient amounts of movement of the touchpositions as the user repeats operations, the operations are more likelyto be recognized as intended by the user. In other words, malfunctionsto the user can be reduced. Even in the second exemplary embodiment, theinformation processing apparatus 100 changes the strictness of thecondition (the magnitude of the reference value) according to the numberof times the same type of operation has been repeated. As the number ofrepetitions increases and inputs tend to be rougher, an input operationbecomes easier to be identified as the same type of operation as thatinput immediately before. If the condition for identifying the same typeof operation as that input immediately before is not satisfied, theinformation processing apparatus 100 performs processing correspondingto various operations other than that input immediately before, providedthat predetermined conditions for identifying the input of the ordinaryother operations are satisfied.

While the present exemplary embodiment deals with the case of performingprocessing by using information about two touch positions, similarprocessing can be performed with three or more touch positions.

Like the first exemplary embodiment, a modification in which if thenumber of repetitions exceeds a certain number of times, an inputoperation is identified as the same type of operation as that inputimmediately before at the point in time when the same type of operationis determined to be likely to be repeated may be applied to the case ofrepeating a multi-touch operation.

According to such a modification, if the same type of operation isrepeated many times, the information processing apparatus 100 providesfeedback when the user starts a touch. The user can thus quickly obtaina desired result.

Like the first exemplary embodiment, a modification for setting an“input start area” based on a position where the operation inputimmediately before is ended may be applied to the case of repeating amulti-touch operation. In such a case, the area setting unit 126 sets aplurality of “input start areas”. If all the “input start areas” includeany one of a plurality of touch positions detected as information ofinterest, the determination unit 122 determines that the same type ofmulti-touch operation is likely to be repeated. The user may make roughinputs with insufficient amounts of movement as the user repeatsmulti-touch operations of opposite directions alternately. Even in sucha case, according to the modification, the operations are more likely tobe recognized as intended.

Like the first exemplary embodiment, a modification in which averagecoordinates of positions where the same type of operations repeatedlyinput are started are used as position information serving as areference for setting an “input start area” may be applied to the caseof repeating a multi-touch operation. Position information serving asreferences for setting “input start positions” may be set based on adifference between the input start positions of two successiveoperations. Some part of a display image can become unavailable to starta touch input depending on the contents of the display image. Even ifthe user changes the position to start an operation, the modificationallows the information processing apparatus 100 to make a determinationby absorbing such an error.

An exemplary embodiment of the present disclosure is not limited to theinput of touch operations to a touch panel, and is applicable to caseswhere the same type of input operation made by a user can be recognizeda plurality of times in succession. Even in such cases, if the same typeof operation as that input immediately before is determined to be likelyto be repeated based on detected information of interest, a condition ischanged so that the next operation input based on the information ofinterest becomes easier to be identified as the same type of operationas that input immediately before. User's input operations may include anoperation of pressing an operation button. Human actions for making agesture input may be included. Examples of processing performedaccording to the type of an input operation may include drawingprocessing for displaying an image and sound output processing.

Embodiments of the present disclosure can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions recorded on a storage medium (e.g., a non-transitorycomputer-readable storage medium) to perform the functions of one ormore of the above-described embodiment(s) of the present disclosure, andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s). The computer may comprise one or more ofa central processing unit (CPU), micro processing unit (MPU), or othercircuitry, and may include a network of separate computers or separatecomputer processors. The computer executable instructions may beprovided to the computer, for example, from a network or the storagemedium. The storage medium may include, for example, one or more of ahard disk, a random-access memory (RAM), a read only memory (ROM), astorage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

According to an exemplary embodiment of the present disclosure, theuser's input can be identified as an intended operation type even if thesame type of operation is being repeated.

While the present disclosure has been described with reference toexemplary embodiments, it is to be understood that the disclosure is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of priority from Japanese PatentApplication No. 2013-143696 filed Jul. 9, 2013, which is herebyincorporated by reference herein in its entirety.

What is claimed is:
 1. An information processing apparatus configured toperform processing according to a type of an input operation, theinformation processing apparatus comprising: a determination unitconfigured to determine whether a same type of operation as an operationinput immediately before is likely to be repeated, based on inputinformation of interest and information about the operation inputimmediately before; an identification unit configured to identify theinput operation based on the information of interest according to thatthe information of interest satisfies a predetermined condition set inadvance; and a setting unit configured to, if the determination unitdetermines that the same type of operation as the operation inputimmediately before is likely to be repeated, set a condition for theidentification unit to identify the input operation based on theinformation of interest as the same type of operation as the operationinput immediately before so that the set condition is easier to besatisfied than the predetermined condition.
 2. The informationprocessing apparatus according to claim 1, wherein the predeterminedcondition is that a value obtained based on the information of interestexceeds a predetermined reference value set for each type of operation,and wherein the setting unit is configured to, if the determination unitdetermines that the same type of operation as the operation inputimmediately before is likely to be repeated, set the condition easier tobe satisfied than the predetermined condition by setting a conditionthat the value obtained based on the information of interest exceeds areference value lower than the predetermined reference value as thecondition for the input operation based on the information of interestto be identified as the same type of operation as the operation inputimmediately before.
 3. The information processing apparatus according toclaim 1, wherein the determination unit is configured to, if theinformation of interest is detected within a predetermined time afterthe type of the operation input immediately before is identified,determine that the same type of operation as the operation inputimmediately before is likely to be repeated.
 4. The informationprocessing apparatus according to claim 1, further comprising adetection unit configured to detect input position information as theinformation of interest.
 5. The information processing apparatusaccording to claim 4, wherein the determination unit is configured to,if position information first detected by the detection unit after thetype of the operation input immediately before is identified isinformation about a position included in a specific area, determine thatthe same type of operation as the operation input immediately before islikely to be repeated.
 6. The information processing apparatus accordingto claim 5, wherein the specific area includes a position detected bythe detection unit when an input of the operation input immediatelybefore is started.
 7. The information processing apparatus according toclaim 5, wherein the detection unit is configured to detect informationabout a touch position touched on an input area by a user, and whereinthe specific area is a partial area of the input area.
 8. Theinformation processing apparatus according to claim 7, wherein if theoperation input immediately before is a multi-touch operation, aplurality of specific areas includes a respective plurality of touchpositions detected by the detection unit when an input of themulti-touch operation input immediately before is started.
 9. Theinformation processing apparatus according to claim 8, wherein thedetermination unit is configured to, if the operation input immediatelybefore is the multi-touch operation and the plurality of specific areaseach includes at least one of a plurality of touch positions firstdetected by the detection unit after the type of the multi-touchoperation input immediately before is identified, determine that thesame type of operation as the operation input immediately before islikely to be repeated.
 10. The information processing apparatusaccording to claim 7, wherein the determination unit is configured to,if the operation input immediately before is a flick operation and aninput direction determined based on the information of interest is thesame as a direction of the flick operation input immediately before,determine that the same type of operation as the operation inputimmediately before is likely to be repeated.
 11. The informationprocessing apparatus according to claim 1, wherein the identificationunit is configured to identify the operation input based on theinformation of interest as the same type of operation as the operationinput immediately before according further to that a conditioncorresponding to a number of repetitions of the same type of operationas the operation input immediately before is satisfied.
 12. Theinformation processing apparatus according to claim 1, furthercomprising an output control unit configured to, if the determinationunit determines that the same type of operation as the operation inputimmediately before is likely to be repeated, cause an output device toperform processing corresponding to the operation identified by theidentification unit under a condition corresponding to the number ofrepetitions of the same type of operation as the operation inputimmediately before.
 13. A method for controlling an informationprocessing apparatus configured to perform processing according to atype of an input operation, the method comprising: determining by adetermination unit that a same type of operation as an operation inputimmediately before is likely to be repeated, based on input informationof interest and information about the operation input immediatelybefore; identifying by an identification unit an input operation basedon the information of interest according to that the information ofinterest satisfies a predetermined condition set in advance; and settingby a setting unit, if the determination unit has determined that a sametype of operation as the operation input immediately before is likely tobe repeated, a condition for the identification unit to identify theoperation input based on the information of interest as the same type ofoperation as the operation input immediately before so that thecondition is easier to be satisfied than the predetermined condition.14. A non-transitory computer-readable storage medium storing a programfor causing a computer, when read and executed by the computer, tooperate as units of an information processing apparatus comprising: adetermination unit configured to determine whether a same type ofoperation as an operation input immediately before is likely to berepeated, based on input information of interest and information aboutthe operation input immediately before; an identification unitconfigured to identify the input operation based on the information ofinterest according to that the information of interest satisfies apredetermined condition set in advance; and a setting unit configuredto, if the determination unit determines that the same type of operationas the operation input immediately before is likely to be repeated, seta condition for the identification unit to identify the input operationbased on the information of interest as the same type of operation asthe operation input immediately before so that the set condition iseasier to be satisfied than the predetermined condition.
 15. Anapparatus comprising: an obtaining unit configured to obtain informationabout a position having been input into an input area; a recognitionunit configured to, according to obtainment, by the obtaining unit, ofinformation about one or more positions having been continuously input,recognize an operation corresponding to a condition that the informationabout one or more positions having been continuously input satisfies asan operation having been input into the apparatus; and a control unitconfigured to perform control to set a condition corresponding to anoperation repeatedly input into the apparatus at an interval shorterthan a predetermined time period to be a condition easier to besatisfied when the recognition unit performs recognition for an N+1thtime compared with a condition set when the recognition unit performsrecognition for an Nth time, where N is a predetermined value of anatural number which is two or more.
 16. The apparatus according toclaim 15, wherein, the recognition unit recognizes that an operationcorresponding to the condition satisfied by the information about theone or more positions having been continuously input, among conditions,stored in a storage unit and each corresponding to a different one of aplurality of types of operations, has been input into the apparatus. 17.The apparatus according to claim 16, wherein the plurality of types ofoperations includes a flick operation, and wherein, a conditioncorresponding to the flick operation is a condition defined by athreshold of a flick speed identified by using at least one piece of theinformation about the one or more positions having been continuouslyinput.
 18. The apparatus according to claim 15, wherein, the informationabout the one or more positions having been continuously input into theinput area is information about one or more touch positions detectedduring a time period from when a user touches a touch panelcorresponding to the input area with a finger to when the user releasesthe finger, and wherein, the recognition unit recognizes an operationinput into the apparatus according to the user releasing the finger fromthe touch panel.
 19. The apparatus according to claim 15, wherein, basedon operations, recognized by the recognition unit, being the sameoperations successively performed N times in a row, the control unitperforms control to set a condition corresponding to a same type ofoperations as the operations recognized N times in a row to be acondition easier to be satisfied compared with a condition set when theoperations are recognized for the Nth time in a row.
 20. The apparatusaccording to claim 19, further comprising a determination unitconfigured to determine whether the operations recognized by therecognition unit are the same operations successively performed for theNth time in a row, wherein, in a case where the determination unitdetermines that the operations recognized by the recognition unit arethe same operations successively performed for the Nth time, the controlunit performs control to set a condition corresponding to a same type ofoperations as the operations recognized N times in a row to be acondition easier to be satisfied compared with a condition set beforethe operations, recognized by the recognition unit, have been determinedto be the same operations successively performed for the Nth time in arow.
 21. A method for controlling an apparatus, the method comprising:obtaining, by an obtaining unit, information about a position havingbeen input into an input area; recognizing, by a recognition unit,according to obtainment by the obtaining unit, of information about oneor more positions having been continuously input, an operationcorresponding to a condition that the information about one or morepositions having been continuously input satisfies as an operationhaving been input into the apparatus; performing control, by a controlunit, to set a condition corresponding to an operation repeatedly inputinto the apparatus at an interval shorter than a predetermined timeperiod to be a condition easier to be satisfied when the recognitionunit performs recognition for an N+1th time compared with a conditionset when the recognition unit performs recognition for an Nth time,where N is a predetermined value of a natural number which is two ormore.
 22. A non-transitory computer-readable storage medium storing aprogram for causing a computer, when read and executed by the computer,to operate as units of an apparatus comprising: an obtaining unitconfigured to obtain information about a position having been input intoan input area; a recognition unit configured to, according toobtainment, by the obtaining unit, of information about one or morepositions having been continuously input, recognize an operationcorresponding to a condition that the information about one or morepositions having been continuously input satisfies as an operationhaving been input into the apparatus; and a control unit configured toperform control to set a condition corresponding to an operationrepeatedly input into the apparatus at an interval shorter than apredetermined time period to be a condition easier to be satisfied whenthe recognition unit performs recognition for an N+1th time comparedwith a condition set when the recognition unit performs recognition foran Nth time, where N is a predetermined value of a natural number whichis two or more.